mod_block

模块简介

mod_block基于自定义的规则,对连接或请求进行封禁。

基础配置

配置描述

模块配置文件: conf/mod_block/mod_block.conf

配置项描述
Basic.ProductRulePathString
封禁规则文件路径
Basic.IPBlocklistPathString
全局IP黑名单文件路径
  • 全局IP黑名单文件说明:
  • 可以配置单独的 IP,也可配置起始 IP
  • 全局IP黑名单文件配置示例
  1. 192.168.1.253 192.168.1.254
  2. 192.168.1.250

配置示例

  1. [Basic]
  2. # product rule config file path
  3. ProductRulePath = mod_block/block_rules.data
  4. # global ip blocklist file path
  5. IPBlocklistPath = mod_block/ip_blocklist.data

规则配置

配置描述

配置项描述
VersionString
配置文件版本
ConfigObject
各产品线的封禁规则
Config{k}String
产品线名称
Config{v}Object
产品线下的封禁规则列表
Config{v}[]Object
封禁规则详细信息
Config{v}[].CondString
描述匹配请求或连接的条件, 语法详见Condition
Config{v}[].NameString
规则名称
Config{v}[].ActionObject
匹配成功后的动作
Config{v}[].Action.CmdString
匹配成功后执行的指令
Config{v}[].Action.ParamsObject
执行指令的相关参数列表
Config{v}[].Action.Params[]String
参数信息

模块动作

动作含义
CLOSE关闭连接
ALLOW允许请求

配置示例

  1. {
  2. "Version": "20190101000000",
  3. "Config": {
  4. "global": [
  5. {
  6. "action": {
  7. "cmd": "ALLOW",
  8. "params": []
  9. },
  10. "cond": "req_host_in(\"n.example.org\") && req_path_prefix_in(\"/index/\", false) && req_query_key_in(\"space\")",
  11. "name": "example whiterule"
  12. }
  13. ],
  14. "example_product": [
  15. {
  16. "action": {
  17. "cmd": "CLOSE",
  18. "params": []
  19. },
  20. "name": "example rule",
  21. "cond": "req_path_in(\"/limit\", false)"
  22. }
  23. ]
  24. }
  25. }

监控项

监控项描述
CONN_TOTAL连接总数
CONN_REFUSE连接拒绝的总数
CONN_ACCEPT连接接受的总数
REQ_TOTAL请求总数
REQ_REFUSE请求拒绝的总数
REQ_ACCEPT请求接受的总数
REQ_TO_CHECK检查的请求数